// let a, b;
let arr = ["孙悟空", "猪八戒"];

/*

        a = arr[0];
        b = arr[1];

        */

// [a, b] = arr;

// const [a, b] = arr;

function fn() {
  return ["沙和尚", "唐僧"];
}

// const [a, b] = fn();

arr = ["孙悟空", "猪八戒", "沙和尚", "唐僧"];
// const [a, b, ,c] = arr; // 可以跳过元素
// const [a, b, ...c ] = arr; // ...变量，会接收后边所有的元素
// console.log('a='+a, 'b='+b, 'c='+c);

const obj = {
  name: "孙悟空",
  age: 18,
  gender: "男",
};

let a, b, c;

// ({name:a, age:b, gender:c} = obj); // 将name赋值给a，age赋值给b，gender赋值给c

const { name, gender, age } = obj; // 如果变量名和属性名一致，则可以只写一个

// console.log(a, b, c);
// console.log(name, age, gender);

// 利用数组的解构来交换两个变量的位置
a = 10;
b = 20;

[a, b] = [b, a]; // 交换变量a和b的位置

arr = [1, 3, 2];
[arr[1], arr[2]] = [arr[2], arr[1]]; // 交换数组中两个元素的位置

// console.log('a =', a);
// console.log('b =', b);
console.log(arr);
